/**
 * Patient information class
 */
package com.data.documents;

import java.util.*;

/**
 * This class contains information of patient.
 * 
 * @author Elizabeth
 * @version 1.1
 */
public class PatientInformation extends UserDocument {

	/**
	 * name variable
	 */
	private String name;

	/**
	 * address variable
	 */
	private String address;

	/**
	 * phone variable
	 */
	private String phone;

	/**
	 * email variable
	 */
	private String email;

	/**
	 * gender variable
	 */
	private String gender;

	/**
	 * age variable
	 */
	private int age;

	/**
	 * pharmacy variable
	 */
	private String pharmacy;

	/**
	 * insurance variable
	 */
	private String insurance;

	/**
	 * allergies variable
	 */
	private String allergies;

	/**
	 * medical History list.
	 */
	private List<TreatmentRecord> medicalHistory; // change to collection of
													// treatment records later

	/**
	 * PatientInformation consturctor
	 * 
	 * @param docId
	 * @param name
	 * @param address
	 * @param phone
	 * @param email
	 * @param gender
	 * @param age
	 * @param pharmacy
	 * @param insurance
	 * @param allergies
	 * @param medicalHistory
	 */
	public PatientInformation(String docId, String name, String address,
			String phone, String email, String gender, int age, String pharmacy,
			String insurance, String allergies){
			//List<TreatmentRecord> medicalHistory) {
		super(docId, "patient_informations");
		this.name = name;
		this.address = address;
		this.phone = phone;
		this.email = email;
		this.gender = gender;
		this.age = age;
		this.pharmacy = pharmacy;
		this.insurance = insurance;
		this.allergies = allergies;
		//this.medicalHistory = medicalHistory;
	}
	
	public PatientInformation(String docId){
		this(docId, "", "", "", "", "", 0, "", "", "");
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name
	 *            the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the address
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * @param address
	 *            the address to set
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * @return the phone
	 */
	public String getPhone() {
		return phone;
	}

	/**
	 * @param phone
	 *            the phone to set
	 */
	public void setPhone(String phone) {
		this.phone = phone;
	}

	/**
	 * @return the email
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * @param email
	 *            the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * @return the gender
	 */
	public String getGender() {
		return gender;
	}

	/**
	 * @param gender
	 *            the gender to set
	 */
	public void setGender(String gender) {
		this.gender = gender;
	}

	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	}

	/**
	 * @param age
	 *            the age to set
	 */
	public void setAge(int age) {
		this.age = age;
	}

	/**
	 * @return the pharmacy
	 */
	public String getPharmacy() {
		return pharmacy;
	}

	/**
	 * @param pharmacy
	 *            the pharmacy to set
	 */
	public void setPharmacy(String pharmacy) {
		this.pharmacy = pharmacy;
	}

	/**
	 * @return the insurance
	 */
	public String getInsurance() {
		return insurance;
	}

	/**
	 * @param insurance
	 *            the insurance to set
	 */
	public void setInsurance(String insurance) {
		this.insurance = insurance;
	}

	/**
	 * @return the allergies
	 */
	public String getAllergies() {
		return allergies;
	}

	/**
	 * @param allergies
	 *            the allergies to set
	 */
	public void setAllergies(String allergies) {
		this.allergies = allergies;
	}

	/**
	 * @return the medicalHistory
	 */
	public List<TreatmentRecord> getMedicalHistory() {
		return medicalHistory;
	}

	/**
	 * @param medicalHistory
	 *            the medicalHistory to set
	 */
	public void setMedicalHistory(List<TreatmentRecord> medicalHistory) {
		this.medicalHistory = medicalHistory;
	}
	
	public String[] getDataAsStrings(){
		String[] sample = {"Patient Information","", name};
		return sample;
	}

}